/*
* @Author: Choisaaaa
* @Date: 2018/5/3  16:12
* 商品模块的业务处理
*/

import Mutil from "util/mm.jsx";
const _mm = new Mutil();

class Product{
    //1.获取商品列表
    getProductList(listParam){
        let url     = '',
            data    = {};
        if(listParam.listType === 'list'){
            url                         = '/manage/product/product_list.do';
            data.pageNum                = listParam.pageNum;
        }else if(listParam.listType === 'search'){
            url = '/manage/product/search_product.do';
            data.pageNum                = listParam.pageNum;
            data[listParam.searchType]  = listParam.keyword;
        }
        return _mm.request({
            type    : 'post',
            url     : url,
            data    : data
        });
    }
    //2.商品上架、下架转态改变
    setProductStatus(productInfo){
        return _mm.request({
            type    : 'post',
            url     : '/manage/product/set_sale_status.do',
            data    : productInfo
        });
    }

    //3.商品字段的校验
    checkProduct(product){
        let result = {
            status: true,
            msg: '验证通过'
        };
        // 判断用户名为空
        if(typeof product.productName !== 'string' || product.productName.length ===0){
            return {
                status: false,
                msg: '商品名称不能为空！'
            }
        }
        // 判断描述不能为空
        if(typeof product.productSubtitle !== 'string' || product.productSubtitle.length ===0){
            return {
                status: false,
                msg: '商品描述不能为空！'
            }
        }
        // 验证品类ID
        if(typeof product.categoryId !== 'number' || !(product.categoryId > 0)){
            return {
                status: false,
                msg: '请选择商品品类！'
            }
        }
        // 判断商品价格为数字，且大于0
        if(typeof product.normalPrice !== 'number' || !(product.normalPrice >= 0)){
            return {
                status: false,
                msg: '请输入正确的商品价格！'
            }
        }
        // 判断商品价格为数字，且大于0
        if(typeof product.promotionPrice !== 'number' || !(product.promotionPrice >= 0)){
            return {
                status: false,
                msg: '请输入正确的商品价格！'
            }
        }
        // 判断库存为数字，且大于或等于0
        if(typeof product.productStock !== 'number' || !(product.productStock >= 0)){
            return {
                status: false,
                msg: '请输入正确的库存数量！'
            }
        }
        return result;
    }
    // 4.保存商品
    saveProduct(product){
        return _mm.request({
            type    : 'post',
            url     : '/manage/product/save_product.do',
            data    : product
        });
    }
    // 5.获取商品详情
    getProduct(productId){
        return _mm.request({
            type    : 'post',
            url     : '/manage/product/product_detail.do',
            data    : {
                productId : productId || 0
            }
        });
    }

}
export default Product;